﻿// using GameCreator.Core;
// using Gp.Scripts.Core;
// using Gp.Scripts.Data;
// using UnityEngine;
//
// namespace Gp.GCX {
//     [AddComponentMenu("")]
//     public class AddBasicItemAc : IAction {
//         public InventoryConfigObject item;
//         public bool isPlayer;
//         public int amount = 1;
//         
//         /// <summary>
//         /// 注意：该查找方法仅能用于场景中存在的实例。如果场景中不存在该角色，则不会添加。
//         /// 如果场景中存在多名该角色，则会随机添加到其中。
//         /// 需要角色名+库存名才能唯一确定一个库存。
//         /// 原因是场景的野怪中可能存在多个，此时需要库存名才能将其区分。
//         /// 默认情况下，库存名为角色gameObject的名字
//         /// </summary>
//  
//         // public string characterName;
//
//         public override bool InstantExecute(GameObject target, IAction[] actions, int index) {
//             var inventoryObj = InventoryObjectDto.Build(item);
//             
//             
//             if (isPlayer) {
//                 Global.Get<InventorySystem>()
//                     .AddToInventory(inventoryObj, amount);
//                 return true;
//             }
//
//
//             // InventorySystem.Instance.AddToInventory(inventoryObj, characterName, characterName, amount);
//             return true;
//         }
//
//
// #if UNITY_EDITOR
//         public new static string NAME = "Gp/库存/添加基础物品";
//         private const string NODE_TITLE = "向 [{0}] 的背包添加物品：[{1}] * {2}";
//
//         public override string GetNodeTitle()
//         {
//             string name = "player";
//             string str = item == null ? "无" : item.ItemName;
//             string num = Mathf.Max(1, amount).ToString();
//             return string.Format(NODE_TITLE, name, str, num);
//         }
//
// #endif
//     }
// }